package com.ysd.lis.entity.bac;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ysd.lis.entity.BaseEntity;
import com.ysd.lis.entity.BaseEntityJpa;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * <p>
 * 菌落观察结果
 * </p>
 *
 * @author cfz
 * @since 2024-03-27
 */
@Entity
@Table(name = "BAC_OBSER_RESULT")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "BAC_OBSER_RESULT", autoResultMap = true)
public class BacObserResult extends BaseEntityJpa {

    private static final long serialVersionUID = 1L;

    /**
     * 检验日期
     */
    @Column(name = "SAMPLEDA")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField("SAMPLEDA")
    private Timestamp sampleda;

    /**
     * 报告单元
     */
    @Column(name = "RPT_GROUP")
    @TableField("RPT_GROUP")
    private String rptGroup;

    /**
     * 标本号
     */
    @Column(name = "SAMPLE_NO")
    @TableField("SAMPLE_NO")
    private String sampleNo;

    /**
     * 检验主键
     */
    /*@TableField("MAININFO_ID")
    private String maininfoId;*/

    /**
     * 工作流程主键
     */
    /*@TableField("WK_FLW_ID")
    private String wkFlwId;*/
    @Column(name = "TEST_FLOW_NO")
    @TableField("TEST_FLOW_NO")
    private String testFlowNo;

    /**
     * 工作流程节点主键
     */
    /*@TableField("WK_FLW_NODE_ID")
    private String wkFlwNodeId;*/
    @Column(name = "TEST_NODE_NO")
    @TableField("TEST_NODE_NO")
    private String testNodeNo;

    /**
     * 细菌分离编号
     */
    @Column(name = "ISOLATE_NUM")
    @TableField("ISOLATE_NUM")
    private String isolateNum;

    /**
     * 菌落形态编号
     */
    @Column(name = "MORPHOLOGY_NO")
    @TableField("MORPHOLOGY_NO")
    private String coloMorpNo;

    /**
     * 注解文本
     */
    @Column(name = "DESC_TEXT")
    @TableField("DESC_TEXT")
    private String descText;

    /**
     * 操作日期
     */
    @Column(name = "OPERATE_DATE")
    @TableField("OPERATE_DATE")
    private Timestamp operateDate;

    /**
     * 操作人编号
     */
    @Column(name = "OPERATE_USER_NO")
    @TableField("OPERATE_USER_NO")
    private String operateUserNo;

    /**
     * 备注1
     */
    @Column(name = "REMARK1")
    @TableField("REMARK1")
    private String remark1;

    /**
     * 备注2
     */
    @Column(name = "REMARK2")
    @TableField("REMARK2")
    private String remark2;

    /**
     * 备注3
     */
    @Column(name = "REMARK3")
    @TableField("REMARK3")
    private String remark3;

    /**
     * 备注4
     */
    @Column(name = "REMARK4")
    @TableField("REMARK4")
    private String remark4;


    /**
     * 形态名称
     */
    @Column(name = "MORPHOLOGY_NA")
    @TableField("MORPHOLOGY_NA")
    private String morphologyName;

    /**
     * 菌落计数
     */
    @Column(name = "STRAIN_COUNT")
    @TableField("STRAIN_COUNT")
    private String strainCount;

    /**
     * 菌群比率
     */
    @Column(name = "BAC_RATE")
    @TableField("BAC_RATE")
    private Double bacRate;

    /**
     * 生化实验
     */
    @Column(name = "EXPERIMENT")
    @TableField("EXPERIMENT")
    private String experiment;

    /**
     * 是否危急值 0是1否
     */
    @Column(name = "IS_ALARM")
    @TableField("IS_ALARM")
    private Boolean isAlarm;

    /**
     * 危急值信息
     */
    @Column(name = "ALARM_TEXT")
    @TableField("ALARM_TEXT")
    private String alarmText;

    /**
     * 发布级别    如：0未发布、1已发布
     */
    @TableField("BAC_PUBLISH_STATUS")
    @Column(name = "BAC_PUBLISH_STATUS")
    private BigDecimal bacPublishStatus;

    @Transient
    @TableField(exist = false)
    private String cultureMedium;

    @Transient
    @TableField(exist = false)
    private String morphology;
}
